/*
 * @Author: cooper
 * @Date: 2025-04-03 11:23:56
 * @Wechat: cmd_develop
 * @Description:
 */
#ifndef __MDS_ERROR
#define __MDS_ERROR

#define ERROR_TIMES 100     // 20次不成功就上报错误
#define ERROR_MARGIN 100    // 定义的距离误差
#define ERROR_PAW_MARGIN 20 // 定义夹爪的距离误差
#define eFALSE ((BaseType_t)1)
#define eTRUE ((BaseType_t)0)

// 报警代码
typedef enum
{
    SEND_ERROR_ARM_LONG_POS,
    SEND_ERROR_ARM_SHORT_POS,
    SEND_ERROR_ARM_Z_POS,
    SEND_ERROR_ARM_PAW_POS,
    SEND_ERROR_ARM_STICK_POS,
    SEND_ERROR_LIFT_POS,
    SEND_ERROR_DOOR_POS,
    SEND_ERROR_FOOD1_POS,
    SEND_ERROR_FOOD2_POS,
    SEND_ERROR_FOOD3_POS,
    SEND_ERROR_FOOD4_POS,
    SEND_ERROR_ICEBOX_POS,    // 冰柜的温度报警,大于临界值10度
    SEND_ERROR_BAKE_HAVE_POS, // 烤制的时候，烤位占了肠，设备端进去丢弃处理

    SEND_ERROR_INIT_NOT_READY, // 设备还未初始化
    SEND_ERROR_DEVICE_SHUTOFF, // 设备已关机

} ErrorType;

// 定义结构体来保存错误信息
typedef struct
{
    ErrorType errorCode;
    const char *errorMessage;
} ErrorMapping;

const char *getErrorMessage(ErrorType error);
#endif
